// Generated from java-escape by ANTLR 4.11.1
package com.lan.antlr;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link ScriptParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface ScriptVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link ScriptParser#name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitName(ScriptParser.NameContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#literal}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLiteral(ScriptParser.LiteralContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#variableDeclarator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableDeclarator(ScriptParser.VariableDeclaratorContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#variableDeclaratorId}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableDeclaratorId(ScriptParser.VariableDeclaratorIdContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#parameters}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParameters(ScriptParser.ParametersContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#parameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParameter(ScriptParser.ParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#function}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFunction(ScriptParser.FunctionContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#value}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitValue(ScriptParser.ValueContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#str}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStr(ScriptParser.StrContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#pair}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPair(ScriptParser.PairContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#obj}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitObj(ScriptParser.ObjContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#arr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitArr(ScriptParser.ArrContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#json}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJson(ScriptParser.JsonContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#variableInitializer}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableInitializer(ScriptParser.VariableInitializerContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStatement(ScriptParser.StatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#importStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitImportStatement(ScriptParser.ImportStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#exportStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExportStatement(ScriptParser.ExportStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#forControl}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitForControl(ScriptParser.ForControlContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#forInit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitForInit(ScriptParser.ForInitContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#parExpression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParExpression(ScriptParser.ParExpressionContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#expressionList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpressionList(ScriptParser.ExpressionListContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#functionCall}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFunctionCall(ScriptParser.FunctionCallContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#expression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpression(ScriptParser.ExpressionContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#primary}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrimary(ScriptParser.PrimaryContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#blockStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlockStatement(ScriptParser.BlockStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#blockStatements}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlockStatements(ScriptParser.BlockStatementsContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#block}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlock(ScriptParser.BlockContext ctx);
	/**
	 * Visit a parse tree produced by {@link ScriptParser#prog}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProg(ScriptParser.ProgContext ctx);
}